package ar.edu.utn.frsf.tpae.a2012.g05.service.impl;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Service;

import ar.edu.utn.frsf.tpae.a2012.g05.dao.ClienteDao;
import ar.edu.utn.frsf.tpae.a2012.g05.entity.Cliente;
import ar.edu.utn.frsf.tpae.a2012.g05.service.ClienteService;

@Service
public class ClienteServiceImpl implements ClienteService {

	@Autowired @Qualifier("clienteDaoImpl")
	private ClienteDao clienteDao;

	public Cliente login(String nroCliente, String password) {
		Cliente cliente = clienteDao.findByNumber(nroCliente);
		
		if (cliente != null && cliente.getDocumento().equals(password)) {
			return cliente;
		}
		return null;
	}
	
	public Cliente saveOrUpdate(Cliente cliente) {
		// agregar validaciones de lógica de negocio
		clienteDao.saveOrUpdate(cliente);
		return cliente;
	}

	public void delete(Cliente cliente) throws Exception {
		// agregar validaciones de lógica de negocio
		clienteDao.delete(cliente);
	}

	public Cliente findById(Integer id) {
		// agregar validaciones de lógica de negocio
		Cliente cliente = clienteDao.findById(id);
		return cliente;
	}

	public Cliente findByNumber(String number) {
		// agregar validaciones de lógica de negocio
		Cliente cliente = clienteDao.findByNumber(number);
		return cliente;
	}

	public List<Cliente> findAll() {
		// agregar validaciones de lógica de negocio
		List<Cliente> clientes = clienteDao.findAll();
		return clientes;
	}

	public void setClienteDao(ClienteDao clienteDao) {
		this.clienteDao = clienteDao;
	}
	
	
}
